Package-level declarations

Types

Link copied to clipboard
data class Occurrence(val subject: ZmanType, val calculationMethod: ZmanCalculationMethod)
Link copied to clipboard
Link copied to clipboard
open class ZmanAuthority(val name: String) : ZmanCalculationMethod

A ZmanAuthority is also a ZmanCalculationMethod so that it is possible to say (for example) that a zman calculated using ZmanCalculationMethod.ZmaniyosDuration._72 for ZmanType.ALOS and ZmanType.SHAA_ZMANIS of the ZmanAuthority.GRA. This is because if the zman is based on sha'os zmaniyos, it is unclear by what calculation the sha'ah zmanis is calculated. And, sometimes authority's calculations cannot be easily described in terms of simple ZmanCalculationMethods. It is also more meaningful to the reader/end user that it uses the GRA's sha'ah zmanis rather than a calculation method.

Link copied to clipboard
sealed interface ZmanCalculationMethod

An instance of this class represents a description for how a zman is calculated. The description may rely on other information provided in the ZmanDefinition (e.g. whether the calculation changes depending on the ComplexZmanimCalendar.isUseElevation setting).

Link copied to clipboard
data class ZmanDefinition(val type: ZmanType, val calculationMethod: ZmanCalculationMethod, val isElevationUsed: UsesElevation = UsesElevation.UNSPECIFIED, val supportingAuthorities: List<ZmanAuthority> = listOf())
Link copied to clipboard
data class ZmanRelationship(val subject: ZmanType, val calculation: ZmanCalculationMethod, val relativeToZmanType: ZmanType? = null, val relativeToZman: ZmanDefinition? = null)

A ZmanRelationship is a relationship between two ZmanTypes, dictating when subject occurs relative to relativeToZman. ZmanType.TZAIS occurs 45.minutes after ZmanType.SHKIAH ZmanType.SHKIAH occurs 45.minutes before ZmanType.TZAIS

Link copied to clipboard
enum ZmanType : Enum<ZmanType>